package com.irdstudio.efp.rule.service.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.irdstudio.efp.rule.common.enumeration.CusLevelType;
import com.irdstudio.efp.rule.common.enumeration.Nationality;

/**
 *
 * 个人信息
 *
 * @author Cytus_
 * @since 2018年5月6日 下午12:27:39
 * @version 1.0
 *
 */
public class CusInfoEntity implements Serializable {

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	//客户ID
	private String cusId;

	//客户姓名
	private String cusName;

	//证件类型
	private String idType;

	//证件号码
	private String idCard;

	//年龄
	private int age;

	//国籍
	private Nationality nationality;
	/** 客户级别 */
	private CusLevelType cuLevel;

	//当前单位工作开始时间 yyyy-MM-dd
	private String currWorkStartDate;

	//申请人当前从事行业类型
	private String industryType;

	//行内员工标识 true是 false否
	private boolean bankInnerStaffFlag;
	/** 支取额度 */
	private BigDecimal loanApp;
	/** 客户在消费贷系统的贷款 */
	private List<ConsumLoanEntity> consumeLoans;

	/** 合同起始日 */
	private String contractStartDate;
	/** 合同到期日 */
	private String contractEndDate;
	/** 秒贷测算额度 */
	private BigDecimal secondLoanAmount;
	
	public String getCusId() {
		return cusId;
	}

	public void setCusId(String cusId) {
		this.cusId = cusId;
	}

	public String getCusName() {
		return cusName;
	}

	public void setCusName(String cusName) {
		this.cusName = cusName;
	}

	public String getIdType() {
		return idType;
	}

	public void setIdType(String idType) {
		this.idType = idType;
	}

	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Nationality getNationality() {
		return nationality;
	}

	public void setNationality(Nationality nationality) {
		this.nationality = nationality;
	}

	public String getIndustryType() {
		return industryType;
	}

	public void setIndustryType(String industryType) {
		this.industryType = industryType;
	}

	public boolean isBankInnerStaffFlag() {
		return bankInnerStaffFlag;
	}

	public void setBankInnerStaffFlag(boolean bankInnerStaffFlag) {
		this.bankInnerStaffFlag = bankInnerStaffFlag;
	}

	public String getCurrWorkStartDate() {
		return currWorkStartDate;
	}

	public void setCurrWorkStartDate(String currWorkStartDate) {
		this.currWorkStartDate = currWorkStartDate;
	}

	public CusLevelType getCuLevel() {
		if ( cuLevel == null )
			cuLevel = CusLevelType.PUBLIC;
		return cuLevel;
	}

	public void setCuLevel(CusLevelType cuLevel) {
		this.cuLevel = cuLevel;
	}

	public BigDecimal getLoanApp() {
		if ( loanApp == null )
			loanApp = BigDecimal.ZERO;
		return loanApp;
	}

	public void setLoanApp(BigDecimal loanApp) {
		this.loanApp = loanApp;
	}

	public List<ConsumLoanEntity> getConsumeLoans() {
		return consumeLoans;
	}

	public void setConsumeLoans(List<ConsumLoanEntity> consumeLoans) {
		this.consumeLoans = consumeLoans;
	}

	public String getContractStartDate() {
		return contractStartDate;
	}

	public void setContractStartDate(String contractStartDate) {
		this.contractStartDate = contractStartDate;
	}

	public String getContractEndDate() {
		return contractEndDate;
	}

	public void setContractEndDate(String contractEndDate) {
		this.contractEndDate = contractEndDate;
	}

	public BigDecimal getSecondLoanAmount() {
		if( null == secondLoanAmount )
			secondLoanAmount = BigDecimal.ZERO;
		return secondLoanAmount;
	}

	public void setSecondLoanAmount(BigDecimal secondLoanAmount) {
		this.secondLoanAmount = secondLoanAmount;
	}
}
